/*
 * Square.h
 *
 * Class Defining a Square. A Square has a piece and a position
 */

#ifndef SQUARE_H_
#define SQUARE_H_
#include "Piece.h"

class Square{
private:
	Position loc;	//Location of Square
	Piece *piece;	//Pointer to Piece on square
public:
	Square();
	Square(Position pos);		//Constructor
	Square& operator=(const Square& other);
	~Square();					//Deconstructor
	bool isOccupied();			//Returns true if piece!=NULL
	void setPiece(Piece *p);	//Sets Piece Pointer
	Piece* getPiece();			//Returns pointer to piece
	PieceType getPieceType();	//Returns piece type
	Color getPieceColor();	//Returns piece color

};

#endif /* SQUARE_H_ */
